package cn.tedu.csms.order.pojo.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
public class OrderQuery {

    @ApiModelProperty(value = "订单id")
    Long id;
    @ApiModelProperty(value = "订单编号")
    String orderNumber;
    @ApiModelProperty(value = "订单状态")
    String orderStatus;
    @ApiModelProperty(value = "用户id")
    Long userId;
    @ApiModelProperty(value = "用户姓名")
    String username;
    @ApiModelProperty(value = "用户电话")
    String userPhone;
    @ApiModelProperty(value = "商家id")
    Long merchantId;
    @ApiModelProperty(value = "商家名称")
    String merchantName;
    @ApiModelProperty(value = "商品id")
    Long productId;
    @ApiModelProperty(value = "商品名称")
    String productName;

    @ApiModelProperty(value = "订单创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date orderTime;
    @ApiModelProperty(value = "支付时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date paymentTime;

    @ApiModelProperty(value = "支付平台交易号")
    String paymentTransactionId;

    @ApiModelProperty(value = "发货时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date shippingTime;
    @ApiModelProperty(value = "送达时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date deliveryTime;

    @ApiModelProperty(value = "收货人姓名")
    String recipientName;
    @ApiModelProperty(value = "收货人电话")
    String recipientPhone;
    @ApiModelProperty(value = "收获人地址")
    String shippingAddress;
    @ApiModelProperty(value = "配送方式")
    String shippingMethod;
    @ApiModelProperty(value = "物流公司")
    String logisticsCompany;
    @ApiModelProperty(value = "物流跟踪号")
    String trackingNumber;

    @ApiModelProperty(value = "退款时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date refundTime;
    @ApiModelProperty(value = "退款状态")
    String refundStatus;

    @ApiModelProperty(value = "订单更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    Date updateTime;


}
